Eccentric rotating mass actuator optimization for haptic effects

ABSTRACT

A system that generates a haptic effect using an Eccentric Rotating Mass (“ERM”) actuator determines a vibration level of the device during operation of the device. The system receives a haptic effect signal including one or more parameters, where one of the parameters is a voltage amplitude level as a function of time. The system varies the voltage amplitude level based at least on vibration level and applies the varied haptic effect signal to the ERM actuator.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 13/755,423, filed Jan. 31, 2013, now U.S. Pat. No.8,791,799, which claims priority of U.S. Provisional Patent ApplicationSer. No. 61/593,719, filed on Feb. 1, 2012, the contents of each whichis hereby incorporated by reference.

FIELD

One embodiment is directed to an actuator, and in particular to anactuator used to generate haptic effects.

BACKGROUND INFORMATION

Electronic device manufacturers strive to produce a rich interface forusers. Conventional devices use visual and auditory cues to providefeedback to a user. In some interface devices, kinesthetic feedback(such as active and resistive force feedback) and/or tactile feedback(such as vibration, texture, and heat) is also provided to the user,more generally known collectively as “haptic feedback” or “hapticeffects”. Haptic feedback can provide cues that enhance and simplify theuser interface. Specifically, vibration effects, or vibrotactile hapticeffects, may be useful in providing cues to users of electronic devicesto alert the user to specific events, or provide realistic feedback tocreate greater sensory immersion within a simulated or virtualenvironment.

In order to generate vibration effects, many devices utilize some typeof actuator. Known actuators used for this purpose include anelectromagnetic actuator such as an Eccentric Rotating Mass (“ERM”) inwhich an eccentric mass is moved by a motor, a Linear Resonant Actuator(“LRA”) in which a mass attached to a spring is driven back and forth,or a “smart material” such as piezoelectric, electro-active polymers orshape memory alloys. Many of these actuators, and the devices that theyinteract with, have built-in resonant frequencies that optimally aredynamically determined and controlled so that drive signals thatgenerate the haptic effects can be most effective and efficient, such asthe optimization of an LRA device as disclosed in U.S. Pat. No.7,843,277.

The performance characteristics of an actuator such as the rise time,brake time, and steady state voltage, may vary based on the design andmanufacturer of the actuator, and may also change during the life of theactuator because of physical shocks, temperature fluctuations, fatigue,and wear and tear. Further, device manufacturers want the freedom tosubstitute different actuators at will based on cost, availability andperformance characteristics without adversely affecting the hapticfeedback provided by the device or requiring costly reconfiguration byhand.

SUMMARY

One embodiment is a system that generates a haptic effect using anEccentric Rotating Mass (“ERM”) actuator. The system determines avibration level of the device during operation of the device. The systemreceives a haptic effect signal including one or more parameters, whereone of the parameters is a voltage amplitude level as a function oftime. The system varies the voltage amplitude level based at least onvibration level and applies the varied haptic effect signal to the ERMactuator.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a haptically-enabled system in accordancewith one embodiment of the present invention.

FIG. 2 is a cut-away partial perspective view of the ERM of FIG. 1 inaccordance with one embodiment of the present invention.

FIG. 3 is a flow diagram of the functionality of the ERM drive module ofFIG. 1 to determine a steady-state counter EMF (“SSCE”) level of the ERMin accordance with one embodiment of the present invention.

FIG. 4 is a flow diagram of the functionality of the ERM drive module todetermine a rise time of the ERM in accordance with one embodiment ofthe present invention.

FIG. 5 is a flow diagram of the functionality of the ERM drive module todetermine a brake time of the ERM in accordance with one embodiment ofthe present invention.

FIG. 6 is a flow diagram of the functionality of the ERM drive modulewhen using back EMF to adjust the speed of the ERM in accordance withone embodiment of the present invention.

FIG. 7 is a flow diagram of the functionality of the ERM drive modulewhen using back EMF to determine if the motor is spinning beforegenerating haptic effects in accordance with one embodiment of thepresent invention.

DETAILED DESCRIPTION

One embodiment is a system the generates haptic effects using anEccentric Rotating Mass (“ERM”) actuator. The system characterizes theERM actuator using back electromotive force (“EMF”) in order to deriveoperating parameters, including rise time, brake time, and revolutionsper minute discrepancies. The operating parameters are then used by acontroller in generating haptic effect signals in order to optimize thebehavior of the system.

FIG. 1 is a block diagram of a haptically-enabled system 10 inaccordance with one embodiment of the present invention. System 10includes a touch sensitive surface 11 or other type of user interfacemounted within a housing 15, and may include mechanical keys/buttons 13.Internal to system 10 is a haptic feedback system that generatesvibrations on system 10. In one embodiment, the vibrations are generatedon touch surface 11.

The haptic feedback system includes a processor or controller 12.Coupled to processor 12 is a memory 20 and an actuator drive circuit 16,which is coupled to an ERM actuator 18. Processor 12 may be any type ofgeneral purpose processor, or could be a processor specifically designedto provide haptic effects, such as an application-specific integratedcircuit (“ASIC”). Processor 12 may be the same processor that operatesthe entire system 10, or may be a separate processor. Processor 12 candecide what haptic effects are to be played and the order in which theeffects are played based on high level parameters. In general, the highlevel parameters that define a particular haptic effect includemagnitude, frequency and duration. Low level parameters such asstreaming motor commands could also be used to determine a particularhaptic effect. A haptic effect may be considered “dynamic” if itincludes some variation of these parameters when the haptic effect isgenerated or a variation of these parameters based on a user'sinteraction.

Processor 12 outputs the control signals to actuator drive circuit 16,which includes electronic components and circuitry used to supply ERM 18with the required electrical current and voltage (i.e., “motor signals”)to cause the desired haptic effects. System 10 may include more than oneERM 18, and each ERM may include a separate drive circuit 16, allcoupled to a common processor 12. Memory device 20 can be any type ofstorage device or computer-readable medium, such as random access memory(“RAM”) or read-only memory (“ROM”). Memory 20 stores instructionsexecuted by processor 12. Among the instructions, memory 20 includes anERM drive module 22 which are instructions that, when executed byprocessor 12, generate drive signals for ERM 18 while also using theback EMF from ERM 18 to adjusting the drive signals, as disclosed inmore detail below. Memory 20 may also be located internal to processor12, or any combination of internal and external memory.

Touch surface 11 recognizes touches, and may also recognize the positionand magnitude of touches on the surface. The data corresponding to thetouches is sent to processor 12, or another processor within system 10,and processor 12 interprets the touches and in response generates hapticeffect signals. Touch surface 11 may sense touches using any sensingtechnology, including capacitive sensing, resistive sensing, surfaceacoustic wave sensing, pressure sensing, optical sensing, etc. Touchsurface 11 may sense multi-touch contacts and may be capable ofdistinguishing multiple touches that occur at the same time. Touchsurface 11 may be a touchscreen that generates and displays images forthe user to interact with, such as keys, dials, etc., or may be atouchpad with minimal or no images.

System 10 may be a handheld device, such a cellular telephone, personaldigital assistant (“PDA”), smartphone, computer tablet, gaming console,etc., or may be any other type of device that provides a user interfaceand includes a haptic effect system that includes one or more ERMactuators. The user interface may be a touch sensitive surface, or canbe any other type of user interface such as a mouse, touchpad,mini-joystick, scroll wheel, trackball, game pads or game controllers,etc. In embodiments with more than one ERM, each ERM may have adifferent rotational capability in order to create a wide range ofhaptic effects on the device. System 10 may also include one or moresensors. In one embodiment, one of the sensors is an accelerometer (notshown) that measures the acceleration of ERM 18 and system 10.

FIG. 2 is a cut-away partial perspective view of ERM 18 of FIG. 1 inaccordance with one embodiment of the present invention. ERM 18 includesa rotating mass 201 having an off-center weight 203 that rotates aboutan axis of rotation 205. In operation, any type of motor may be coupledto ERM 18 to cause rotation in one or both directions around axis ofrotation 205 in response to the amount and polarity of voltage appliedto the motor across two leads of the motor (not shown in FIG. 2). Itwill be recognized that an application of voltage in the same directionof rotation will have an acceleration effect and cause the ERM 18 toincrease its rotational speed, and that an application of voltage in theopposite direction of rotation will have a braking effect and cause theERM 18 to decrease or even reverse its rotational speed.

One embodiment of the present invention determines the angular speed ofERM 18 during a monitoring period of a drive signal. Angular speed is ascalar measure of rotation rate, and represents the magnitude of thevector quantity angular velocity. Angular speed or frequency ω, inradians per second, correlates to frequency v in cycles per second, alsocalled Hz, by a factor of 2π. The drive signal applied to ERM 18 bydrive circuit 16 of FIG. 1 includes a drive period where at least onedrive pulse is applied to ERM 18, and a monitoring period where the backEMF (also referred to as the “counter-electromotive force” (“CEMF”)) ofthe rotating mass 201 is received and used to determine the angularspeed of ERM 18. In another embodiment, the drive period and themonitoring period are concurrent and the present invention dynamicallydetermines the angular speed of ERM 18 during both the drive andmonitoring periods.

FIG. 3 is a flow diagram of the functionality of ERM drive module 22 todetermine a steady-state counter EMF (“SSCE”) level of ERM 18 inaccordance with one embodiment of the present invention. The SSCE is aback EMF target to be achieved for substantially maximum force and canbe considered a subset of all back EMFs that can be measured. In oneembodiment, the functionality of the flow diagram of FIG. 3, and FIGS.4-7 below, is implemented by software stored in memory or other computerreadable or tangible medium, and executed by a processor. In otherembodiments, the functionality may be performed by hardware (e.g.,through the use of an application specific integrated circuit (“ASIC”),a programmable gate array (“PGA”), a field programmable gate array(“FPGA”), etc.), or any combination of hardware and software.

At 301, module 22 receives or is otherwise provided with the ratedvoltage of ERM 18. The rated voltage or standard voltage is theoperating voltage level recommended by the manufacturer of ERM 18. Inone embodiment, the rated voltage level is 3 volts. The rated voltagemay be determined by any means, including but not limited to automaticdetection by the system, encoding in a non-volatile memory or input byhand from a manufacturer or end user.

At 303, the rated voltage is applied to ERM 18 for a test time of T1.The rated voltage may be applied either continuously or in one or morepulses. Test time T1 may be automatically determined, encoded innon-volatile memory, or input by hand, but should be long enough toenable ERM 18 to achieve a steady-state angular speed given the appliedrated voltage. Typical values for test time T1 may range between 200 msand 1000 ms.

Once ERM 18 has achieved a steady-state angular speed, at 305 the valueof ERM 18 steady-state counter EMF (“SSCE”) is measured during themonitoring period, and at 307 the SSCE value is stored in memory as astatus signal.

FIG. 4 is a flow diagram of the functionality of ERM drive module 22 todetermine a rise time of ERM 18 in accordance with one embodiment of thepresent invention. In one embodiment, the functionality of FIG. 4 is notinitiated after the functionality of FIG. 3 until the back EMF returnsto zero as the ERM spools down.

At 401, a test time T2 is set to a low initial value, such as 10 ms, butthe initial value for T2 may be any value which is likely to be lessthan the rise time for ERM 18.

At 403, the rated or an overdrive voltage is applied to ERM 18 for timeT2. The overdrive voltage is a voltage level that is higher than therated voltage for ERM 18. In one embodiment, the overdrive voltage levelis 5 volts. In embodiments where an overdrive voltage is used with ERM18 during operations, the overdrive voltage is applied at 403. Thebenefits of using an overdrive voltage during operation of system 10 isa greater dynamic range of haptic effects and a faster response time(spool up and spool down). If overdrive voltage is not used, the ratedvoltage is applied at 403.

At 405, the back EMF is read from ERM 18 as a status signal.

At 407, if the back EMF is greater than a rise time upper thresholdvalue, such as 90% of the SSCE determined in FIG. 3, then at 409 therise time is set to the value of T2. Typically, the rise time determinedat 409 is shorter when overdrive voltage is used at 403 as opposed torated voltage.

Otherwise, at 411 the system waits for the back EMF of ERM 18 to returnto zero, and at 413 an incremental rise time value, such as 10 ms, isadded to T2. Functionality then continues at 403. The rise time upperthreshold value may be any value, but typical values may range between90% and 110% of the rated voltage SSCE. The incremental rise time valuemay also be any value, but typical values may range between 10 ms and 60ms, but can be up to 200 ms for slow, high inertia motors.

FIG. 5 is a flow diagram of the functionality of ERM drive module 22 todetermine a brake time of ERM 18 in accordance with one embodiment ofthe present invention.

At 501, a test time T3 is set to a low initial value, such as 5 ms, butthe initial value for T3 may be any value which is likely to be lessthan the brake time for ERM 18.

At 503, the rated or overdrive voltage is applied to ERM 18 for at leastrise time T2. If using the rated voltage, there is no typical limit onhow long the voltage can be applied. If using overdrive voltage, thevoltage in one embodiment is applied for approximately the rise time T2and not much longer. The purpose when applying overdrive voltage is toget the actuator into a target acceleration voltage spin once it hasachieved equilibrium.

At 505, the full reverse overdrive voltage is applied to ERM 18 for testtime T3 (if using overdrive voltage during operation of system 10) orotherwise the full reverse rated voltage is applied for test time T3.

At 507, the back EMF is read from ERM 18 as a status signal. At 509, ifthe back EMF is less than a brake time lower threshold value, such as10% of the SSCE, then at 511 the brake time is set to the value of T3.Otherwise, at 513 the system waits for the back EMF of ERM 18 to returnto zero, and at 515 an incremental brake time value, such as 5 ms, isadded to T3. The functionality then continues to 503. The brake timelower threshold value may be any value, but typical values may rangebetween 0% and 20% of the SSCE. The incremental brake time value mayalso be any value, but typical values may range between 5 ms and 40 msfor embodiments of system 10 that use overdrive voltage duringoperations.

As a result of the functionality of FIGS. 3-5, the rise time and braketime of ERM 18 is derived. In one embodiment, the functionality of FIGS.3-5 is performed in conjunction with the manufacture of system 10 usingtest bench measurements. In another embodiment, the functionality ofFIGS. 3-5 is performed “on-board” system 10 such as whenever system 10is powered on. In another embodiment, an accelerometer of system 10 canbe used to read vibration level and this parameter can be used insteadof back EMF or in conjunction with the back EMF value to continuouslycorrect and improve the model throughout the lifetime of the device bymeasuring real data points.

In one embodiment, the derived values for back EMF, rise time, and braketime are used to vary a haptic signal by linking the targeted back EMFlevels to vibration/acceleration levels. The following pseudo-code inone embodiment can be used for the linking:

if(vibrating) if current_acceleration_backemf >=target.acceleration-backemf then stop.overdrive and set voltage totarget elseif(braking) if current_acceleration_backemf == 0 then stopbraking and cut voltage

The following is an example of the use of a derived ERM rise time andbrake time to provide more precise haptic effects when overdrive voltageis used. Assume that an ERM device such as ERM 18 has a rated voltagerise time of 40 ms and a decay time of 40 ms, an overdrive rise time of30 ms, a reverse overdrive brake time of 20 ms, and that a deviceapplication must provide a single continuous 50 ms haptic effect to auser. If the device application simply instructs the system to provide a50 ms rated voltage to the ERM, for the first 40 ms the haptic effect isless than maximum, for the next 10 ms the haptic effect is at maximum,and then for the next 40 ms the haptic effect will continue while theERM angular speed returns to zero.

With an embodiment of the present invention, the single 50 ms voltage isconverted to three separate voltages: first, an overdrive voltage isapplied to the ERM for the overdrive rise time of 30 ms, second, a ratedvoltage is applied to the ERM for the 20 ms remaining time of the hapticeffect, and third, a reverse overdrive voltage is applied to the ERM forthe overdrive brake time of 20 ms. With this example, the resultinghaptic effect reaches maximum 10 ms sooner and returns to zero 20 mssooner than without using the present invention, providing a moreprecise and therefore more compelling haptic experience to the user.

In another example, a target acceleration can be a “low rumble”, such as30% of rated voltage steady state back EMF. For a non-overdrive capablesystem, the “overdrive portion” would instead use substantially themaximum rated voltage to speed up the rise time to the 30% strengthlevel. For braking, both a non-overdrive and overdrive system would usethe substantially maximum available voltage in order to stop the motorquickly.

Embodiments disclosed above control the ERM when generating hapticeffects based on time varying control of the voltage across the motor.However, the actual motor speed is affected by many varying factors suchas brush and bearing friction, solder joint resistance, etc. As aresult, because of manufacturing tolerances, the “same” ERM motors, whencontrolled at a given voltage, turn at different rates, and subsequentlyso does the acceleration generated by each motor. Controlling hapticstrength only through voltage feedback is therefore not ideal because ofvariance in the production of the motor.

In one embodiment, to compensate for ERM variances, the ERM iscontrolled based on its instantaneous speed. The speed of the ERM isproportional to the back EMF of the ERM (which is measured as disclosedin FIGS. 3-5 above) and can be measured instantaneously using variousmethods. Using the instantaneous motor speed, the voltage across the ERMcan be adjusted so that the motor is always turning at the desiredspeed. Then, a time varying speed profile can be used to define a hapticeffect rather than a time varying voltage profile.

FIG. 6 is a flow diagram of the functionality of ERM drive module 22when using back EMF to adjust the speed of ERM 18 in accordance with oneembodiment of the present invention.

At 602, the back EMF speed factor for the ERM is determined. Tocharacterize the relationship between the back EMF to angular speed ofERM 18, the back EMF of ERM 18 is sampled at various RPMs. In oneembodiment, the sampling occurs before installation of ERM 18 intosystem 10 using an accelerometer to measure acceleration frequency,which represents the angular speed (or with other measurement tools) anda voltmeter to measure back EMF. In other embodiments, the measurementscan be made onboard.

At 604, the speed-voltage factor for ERM 18 is determined. Tocharacterize the relationship between output voltage and angular speed,the angular speed of the motor is sampled at various output voltages. Aswith 602, in one embodiment the functionality of 604 can be completedbefore installation of ERM 18 into system 10 using an accelerometer tomeasure acceleration frequency, which represents the angular speed (orwith other measurement tools) and a voltmeter to measure back EMF.

At 606, based on the measurements at 602 and 604, an angular speedversus time profile for a haptic effect generated by ERM 18 is generatedor retrieved if previously generated when a haptic effect is to beplayed by processor 12.

At 608, the haptic effect to be generated is retrieved, and theapproximate output voltage is determined using the angular speed versustime profile from 606.

At 610, the actual ERM angular speed is determined by applying a voltageacross ERM 18 and measuring the back EMF of ERM 18 while intermittentlyinterrupting the output voltage across ERM 18 and then using the backEMF speed factor determined at 602.

At 612, the output voltage is adjusted proportionately if the actual ERMangular speed is different than the desired ERM angular speed. 608 and610 are then repeated a finite number of times, or can be continuouslyrepeated to always adjust to real time events. A haptic effect authorcan create a haptic effect as long or as short as he/she wants. Thehaptic effect is comprised of a series of regularly time-indexed valuesof voltage across the motor or, as with the disclosed embodiments, motorspeed. Generally, haptic effects consist of 3-10 time-steps, and forERMs each time-step lasts 5 ms in one embodiment. 608 and 610 aregenerally repeated until the end of the haptic effect is reached.

At 614, when it is time to adjust the ERM angular speed to the nextspeed, 608, 610 and 612 are repeated until there are no more angularspeed steps. In one embodiment, the haptic effect specifies the initialoutput voltage and the target speed, in which case the functionality of614 is not necessary.

As disclosed, embodiments use a measurement of the back EMF of an ERMactuator in order to characterize the particular ERM actuator and tooptimize the haptic effects signals that are applied to the ERM in orderto generate haptic effects. The measurement of the back EMF can beaccomplished by measuring the voltage across the leads of the ERM, soadditional measurement apparatuses are not needed in many embodiments toachieve the optimized results.

In another embodiment, the back EMF can be used to determine if themotor is currently in motion before playing a new effect. Thisembodiment can compensate for an “effect” cascade, using a model todetermine/estimate if a counterweight is currently in rotation (sostatic friction is already broken, has momentum) and requires a reducedinput force to create the desired haptic effect. FIG. 7 is a flowdiagram of the functionality of ERM drive module 22 when using back EMFto determine if the motor is spinning before generating haptic effectsin accordance with one embodiment of the present invention.

At 701, a request to start a new haptic event is received.

at 703, the back EMF levels are tested.

At 705, based on the back EMF levels, it is determined whether the motoris spinning.

If yes at 705 (i.e., the motor is spinning), at 707 the haptic outputlevel is calculated and the haptic force is reduced according to a modelbased on the back EMF level, as disclosed above.

If no at 705 (i.e., the motor is not spinning), at 709 the haptic outputlevel is calculated normally.

At 711, the haptic force is output.

Several embodiments are specifically illustrated and/or describedherein. However, it will be appreciated that modifications andvariations of the disclosed embodiments are covered by the aboveteachings and within the purview of the appended claims withoutdeparting from the spirit and intended scope of the invention.

What is claimed is:
 1. A method of generating a haptic effect on adevice using an Eccentric Rotating Mass (ERM) actuator, the methodcomprising: determining a vibration level of the device during operationof the device; receiving a haptic effect signal comprising one or moreparameters, wherein one of the parameters is a voltage amplitude levelas a function of time; varying the voltage amplitude level based atleast on vibration level; and applying the varied haptic effect signalto the ERM actuator.
 2. The method of claim 1, wherein the devicecomprises an accelerometer that determines the vibration level.
 3. Themethod of claim 1, further comprising: determining a back electromotiveforce (EMF) of the ERM actuator during operation of the device; andvarying the voltage amplitude level based at least on the back EMF. 4.The method of claim 3, further comprising: determining a rise time ofthe ERM actuator using the back EMF; and varying the voltage amplitudelevel based at least on the rise time.
 5. The method of claim 3, furthercomprising: determining a brake time of the ERM actuator using the backEMF; and varying the voltage amplitude level based at least on the braketime.
 6. The method of claim 1, wherein the voltage amplitude levelcomprises an overdrive voltage.
 7. The method of claim 3, furthercomprising: determining a relationship of an angular speed and the backEMF for the ERM actuator; and varying the voltage amplitude level basedat least on the relationship.
 8. The method of claim 3, furthercomprising: using the back EMF to determine if the actuator is spinning.9. A method of generating a haptic effect on a device using an EccentricRotating Mass (ERM) actuator, the method comprising: determining by thedevice a back electromotive force (EMF) of the ERM actuator when thedevice is powered on; receiving a haptic effect signal comprising one ormore parameters, wherein one of the parameters is a voltage amplitudelevel as a function of time; varying the voltage amplitude level basedat least on the back EMF; and applying the varied haptic effect signalto the ERM actuator.
 10. The method of claim 9, wherein the devicecomprises an accelerometer, further comprising: determining using theaccelerometer a vibration level of the device when the device is poweredon.
 11. The method of claim 9, further comprising: determining a risetime of the ERM actuator using the back EMF; and varying the voltageamplitude level based at least on the rise time.
 12. The method of claim9, further comprising: determining a brake time of the ERM actuatorusing the back EMF; and varying the voltage amplitude level based atleast on the brake time.
 13. The method of claim 9, wherein the voltageamplitude level comprises an overdrive voltage.
 14. The method of claim9, further comprising: determining a relationship of an angular speedand the back EMF for the ERM actuator; and varying the voltage amplitudelevel based at least on the relationship.
 15. A non-transitory computerreadable medium having instructions stored thereon that, when executedby a processor, cause the processor to generate a haptic effect on adevice using an Eccentric Rotating Mass (ERM) actuator, the generatingcomprising: determining a vibration level of the device during operationof the device; receiving a haptic effect signal comprising one or moreparameters, wherein one of the parameters is a voltage amplitude levelas a function of time; varying the voltage amplitude level based atleast on vibration level; and applying the varied haptic effect signalto the ERM actuator.
 16. The non-transitory computer readable medium ofclaim 15, wherein the device comprises an accelerometer that determinesthe vibration level.
 17. The non-transitory computer readable medium ofclaim 15, the generating further comprising: determining a backelectromotive force (EMF) of the ERM actuator during operation of thedevice; and varying the voltage amplitude level based at least on theback EMF.
 18. The non-transitory computer readable medium of claim 17,further comprising: determining a rise time of the ERM actuator usingthe back EMF; and varying the voltage amplitude level based at least onthe rise time.
 19. The non-transitory computer readable medium of claim17, further comprising: determining a brake time of the ERM actuatorusing the back EMF; and varying the voltage amplitude level based atleast on the brake time.
 20. The non-transitory computer readable mediumof claim 15, wherein the voltage amplitude level comprises an overdrivevoltage.
 21. The non-transitory computer readable medium of claim 17,the generating further comprising: determining a relationship of anangular speed and the back EMF for the ERM actuator; and varying thevoltage amplitude level based at least on the relationship.
 22. Thenon-transitory computer readable medium of claim 17, further comprising:using the back EMF to determine if the actuator is spinning.
 23. Anon-transitory computer readable medium having instructions storedthereon that, when executed by a processor, cause the processor togenerate a haptic effect on a device using an Eccentric Rotating Mass(ERM) actuator, the generating comprising: determining by the device aback electromotive force (EMF) of the ERM actuator when the device ispowered on; receiving a haptic effect signal comprising one or moreparameters, wherein one of the parameters is a voltage amplitude levelas a function of time; varying the voltage amplitude level based atleast on the back EMF; and applying the varied haptic effect signal tothe ERM actuator.
 24. The non-transitory computer readable medium ofclaim 23, wherein the device comprises an accelerometer, the generatingfurther comprising: determining using the accelerometer a vibrationlevel of the device when the device is powered on.
 25. Thenon-transitory computer readable medium of claim 23, the generatingfurther comprising: determining a rise time of the ERM actuator usingthe back EMF; and varying the voltage amplitude level based at least onthe rise time.
 26. The non-transitory computer readable medium of claim23, the generating further comprising: determining a brake time of theERM actuator using the back EMF; and varying the voltage amplitude levelbased at least on the brake time.
 27. The non-transitory computerreadable medium of claim 23, wherein the voltage amplitude levelcomprises an overdrive voltage.
 28. The non-transitory computer readablemedium of claim 23, the generating further comprising: determining arelationship of an angular speed and the back EMF for the ERM actuator;and varying the voltage amplitude level based at least on therelationship.